實驗 8:使用圖形的社交網絡

目標 🎯

  • 模型: 一個簡單的社交網絡。
    • 使用者以圖中的 節點 來表示。
    • 朋友關係則是 無向邊
  • 任務: 處理一連串指令,以建立並查詢網絡。

表示方式 💾

我們將使用 鄰接表 來儲存圖形。

它是一個列表的陣列。索引為 `i` 的列表儲存了使用者 `i` 所有的朋友。

// 朋友關係:(0,1), (0,2), (1,2)
adj = [
0:[1, 2],
1:[0, 2],
2:[0, 1],
3:[]
]

操作 ⚙️

你將實作四個指令:

  • add u v

    新增一段朋友關係。

  • degree u

    計算使用者 u 的朋友數量。

  • isfriend u v

    檢查 u 和 v 是否為朋友。

  • count_greater x

    計算擁有超過 x 個朋友的使用者人數。